import axios from "axios";
import { useCounterStore } from "@/stores/counter";
import { showFailToast } from 'vant';

const serves = axios.create({
  timeout: 120000,
});

// 设置请求发送之前的拦截器
serves.interceptors.request.use(
  (config) => {
    const store = useCounterStore();
    // 设置发送之前数据需要做什么处理
    let token = store.token
    if(token) config.headers['token'] = token
    return config;
  },
  (err) => Promise.reject(err)
);

// 设置请求接受拦截器
serves.interceptors.response.use(
  (res) => {
    // 设置接受数据之后，做什么处理
    if (res.data.code === 50000) {
      showFailToast.error(res.data.data);
    }
    return res.data;
  },
  (err) => {
    // 判断请求异常信息中是否含有超时timeout字符串
    if (err.message.includes("timeout")) {
      console.log("错误回调", err);
      showFailToast.error("网络超时");
    }
    if (err.message.includes("Network Error")) {
      console.log("错误回调", err);
      showFailToast.error("服务端未启动，或网络连接错误");
    }
    return Promise.reject(err);
  }
);



const requestPlus = async (
  params
) => {
  return await serves(params);
};

// 将serves抛出去
export default requestPlus;